#include <iostream>

void test_output() {
    // std : 是命名空间
    // cout : 是 std 命名空间下的一个对象
    // << : 是输出运算符 ，就是把 右边的值输出到左边的对象中
    // std::endl : 是 std 命名空间下的一个对象，用于输出换行符
    std::cout << "Hello, World!" << std::endl;
}

// 默认初始化 0
int global_a;

void test_data_type() {
    int a; // 没有默认初始化，与C 语言相同
    std::cout << "变量 a 没有初始化的值 ：" << a << std::endl;
    a = 10;
    std::cout << "变量 a 初始化后的值 ：" << a << std::endl;
    std::cout << "全局变量 global_a 的值 ：" << global_a << std::endl;

    std::cout << "sizeof(bool) : " << sizeof(bool) << std::endl;
    std::cout << "sizeof(short) : " << sizeof(short) << std::endl;
    std::cout << "sizeof(int) : " << sizeof(int) << std::endl;
    std::cout << "sizeof(long) : " << sizeof(long) << std::endl;
    std::cout << "sizeof(long long) : " << sizeof(long long) << std::endl;
    std::cout << "sizeof(float) : " << sizeof(float) << std::endl;
    std::cout << "sizeof(double) : " << sizeof(double) << std::endl;
    std::cout << "sizeof(long double) : " << sizeof(long double) << std::endl;
    std::cout << std::endl;
    std::cout << "sizeof(char) : " << sizeof(char) << std::endl;
    std::cout << std::endl;
    std::cout << "------ 指针类型是8位 ------" << std::endl;
    std::cout << "sizeof(void*) : " << sizeof(void *) << std::endl;
    std::cout << "sizeof(int*) : " << sizeof(int *) << std::endl;

    double a2 = 10;
    int a3 = (int) a2;
    std::cout << "类型转换 : " << a3 << std::endl;
}

int main() {
//    test_output();
    test_data_type();
}

